//package com.zyf.cloud.common.utils;
//
//
//import com.bonade.common.constant.CommonConstant;
//import com.bonade.common.exception.CheckedException;
//import org.apache.commons.codec.binary.Base64;
//
//import javax.servlet.http.HttpServletRequest;
//import java.io.IOException;
//
//
///**
// * @author linsj
// * @date 2018/12/18
// * 认证授权相关工具类
// */
//public class AuthUtils {
//    private static final String BASIC_ = "Basic ";
//
//    /**
//     * 从header 请求中的clientId/clientsecect
//     *
//     * @param header header中的参数
//     * @throws CheckedException if the Basic header is not present or is not valid
//     *                          Base64
//     */
//    public static String[] extractAndDecodeHeader(String header)
//            throws IOException {
//
//        byte[] base64Token = header.substring(6).getBytes("UTF-8");
//        byte[] decoded;
//        try {
//            decoded = Base64.decodeBase64(base64Token);
//        } catch (IllegalArgumentException e) {
//            throw new CheckedException(
//                    "Failed to decode basic authentication token");
//        }
//
//        String token = new String(decoded, CommonConstant.UTF8);
//
//        int delim = token.indexOf(":");
//
//        if (delim == -1) {
//            throw new CheckedException("Invalid basic authentication token");
//        }
//        return new String[]{token.substring(0, delim), token.substring(delim + 1)};
//    }
//
//    /**
//     * *从header 请求中的clientId/clientsecect
//     *
//     * @param request
//     * @return
//     * @throws IOException
//     */
//    public static String[] extractAndDecodeHeader(HttpServletRequest request)
//            throws IOException {
//        String header = request.getHeader("Authorization");
//
//        if (header == null || !header.startsWith(BASIC_)) {
//            throw new CheckedException("请求头中client信息为空");
//        }
//
//        return extractAndDecodeHeader(header);
//    }}